FIG. 1 depicts a communications network 10. The communications network 10 includes plural nodes s1, s2, s3, s4, s5, s6, MT1, MT2, MT3, MT4, MT5, b1, b2, BS1, BS2, LES1, LES2, BUS1 and BUS2. The nodes s1-s6 are stationary terminals which do not move, such as personal computers. The nodes MT1-MT5 are mobile terminals, such as mobile hosts, cellular telephones, or cordless telephones, which can move. The nodes MT1-MT5 communicate via wireless communications channels with nodes BS1 or BS2. The nodes BS1 and BS2 are base stations. The nodes b1 and b2 are bridges. Their purpose is described in greater detail below. Likewise, the nodes LES1-LES2 and BSU1-BUS2 are local area network emulation server nodes and broadcast and unknown server nodes, respectively. See ATM Forum, LAN Emulation over ATM Version 2-LUNI Specification, Dec., 1995.
Communication in the network 10 may be described according to the OSI seven layer model. However, for sake of convenience, only the data-link and network layers are described. Nodes s1, s2 and bridge b1 are interconnected into a so-called legacy local area network (LAN) LAN1 such as an Ethernet network. Likewise, the nodes s4, s5 and b1 are connected into a second legacy LAN2. Communication is achieved within LAN1 by transmitting a bitstream organized into MAC (media access control) frames at the data-link layer. The MAC frame contains a MAC header and a payload. The MAC header carries control and routing information whereas the payload carries one or more messages to be conveyed between the nodes. Each node in the LAN1 is assigned a fixed MAC address. When a node on the LAN1, such as the node S1, desires to communicate with another node on the LAN1, such as the node s2, the node s1 writes the MAC address of the node s2 in a destination address field of the MAC header and a message to be conveyed into the payload. The node s1 then transmits the MAC frame on the LAN1 where it is received at each node on the LAN1 including the node s2. The node s2 examines the MAC header and compares the destination address in the destination address field to the MAC address assigned to the node s2. Since the two addresses match, the node s2 accepts the MAC frame and retrieves the messages in the payload.
On the other hand, nodes b1, b2, LES1, LES2, BSU1, BUS2, BS1 and BS2 are interconnected into an ATM network. Communication is achieved at the data-link layer in an ATM network by transmitting a bitstream that is organized into fixed length cells, which also have a header portion and a payload portion. Communication at the data-link layer in an ATM network may be radically different than in the LAN1 and LAN2. In particular, according to Ethernet, MAC frames are transmitted asynchronously and on all links of the LAN1 or LAN2 to all nodes. The nodes which are the intended recipients of the MAC frames receive the respective MAC frames and accept the data. In contrast, according to ATM, cells are communicated in dedicated virtual channels between pairs of nodes. A virtual channel (VC) is defined as a communication channel dynamically allocated by a node for transmitting cells of a particular connection to a second node. The collection of all VC's of a sequence of connections is referred to as a virtual channel connection (VCC). In setting up a sequence of connections, a VCC identifier is assigned to the communication. Each node (e.g., the node b1) in the sequence of nodes (e.g., b1, . . . , b2) allocates a virtual channel for conveying cells to the next node in the sequence of nodes for the communication (e.g., the node b2). Each node of the sequence of nodes creates an entry in a routing table for each communication. Each entry is indexed by the VCC identifier of the respective communication and contains information regarding how to transmit received (or newly generated) cells to the next node of the sequence of nodes. For instance, the indexed routing table entry may contain an indication of the virtual channel for routing the cell, such as a VC identifier (VCI). In setting up a communication, a source node transmits a communication setup request cell to an appropriate node capable of setting up the communication. The set up request cell contains the ATM address of the destination node. The setup request cell propagates from node to node of the ATM network as VC's are allocated for the communication until the destination node is reached. A response cell is then transmitted back to the source node indicating the VCC identifier of the communication that is set up.
Once the sequence of connections is set up, the source node (e.g., b1) generates one or more cells. The source node b1 writes the VCC identifier assigned to the communication in the cell header and messages to be conveyed to the destination node (e.g., b2) in the cell payload. The node b1 then writes the generated cells into particular timeslots of an outgoing bitstream transmitted to the next node of the sequence of nodes for that communication. Each intermediate node which receives the cell utilizes the VCC identifier stored in the cell to access a routing table thereat. The intermediate node utilizes the retrieved routing table entry (specifically, the VCI of the retrieved routing table entry) to transmit the cell on the appropriate VC to the next node of the sequence of nodes. This process is repeated at each intermediate node until the cell arrives at the destination node b2.
In transmitting cells on VC's, each node writes a cell into a time slot of an outgoing bitstream destined to another node, which time slot is allocated for the VC. Likewise, each node selectively reads cells from timeslots of received incoming bitstreams and performs the same writing operation to other outgoing bitstreams. This form of adding and dropping of cells from different bitstreams is referred to as cell layer multiplexing.
As noted above, the data-link layer forms of communicating in the legacy LAN1 and LAN2 are different than in the ATM network. The purpose of the bridges b1 and b2 is to receive information from one network transmitted according to the respective data-link layer and retransmit the information in the other network according to its respective data-link layer. The bridges b1 and b2 therefore decouple the two incompatible data-link layers from each other yet enable communication between nodes in each of the two networks.
At the network layer, all of the nodes may communicate using the same protocol, e.g., the internet protocol or IP. Like the Ethernet protocol, each node that can serve as a source or destination node is assigned a unique IP identifier or IP address. Information is transmitted from a source node to a destination node in a bitstream that is organized into packets. Each packet has a header and a payload. The IP address of the source node is written in a source field of the packet header and the IP address of the destination node is written in a destination field of the packet header. The data is then written in the payload. The packet is then transmitted according to the appropriate data-link layer protocol for the network (e.g., formed into MAC frames, divided into ATM cells, etc.) and then transmitted to its respective destination node. IP provides a routing function for routing a packet from node to node in a sequence of nodes until the packet arrives at its destinations using routing tables that are similar to the ATM cell routing tables.
It is desirable to organize the nodes into "logical" networks or virtual LANs (VLANs). In a VLAN, a particular set of arbitrary nodes are segregated into groups regardless of the location of the nodes and the data-link layers they employ in communicating. That is, hosts nodes physically located in different subnetworks may be logically connected as a single VLAN. This closed group is administered as a logical LAN independent of other groups of host nodes. In the Internet area, these logical LANs are referred to as Logical IP Subnets (LIS). Typically, an LIS requires manual configuration of each host by LAN administrators of each LAN where a logical LAN host is physically located.
FIG. 1 shows one organization of the nodes into VLANs, e.g., the nodes s1, s2, s3, b1, BS1, MT1, and MT2 are organized into a first VLAN VLAN1 and the nodes s4, s5, s6, BS2, MT3, MT4 and MT5 are organized into a second VLAN VLAN2. Nodes generally speaking can only know the data-link layer addresses of, and communicate directly with, other nodes within their respective VLANs. LES1 and LES2 are provided in order to accommodate inter-VLAN communication. In particular, when a node on a first VLAN, e.g., node MT1, desires to communicate with a node on a different VLAN, e.g., node s4, the node MT1 transmits an address resolution protocol (ARP) request packet containing the IP address of the destination node s4 to the LES1. The LES1 transmits the ARP packet to one or more other LESs, including the LES2. The LES2 maintains an address translation table for translating IP addresses of each of its connected nodes to data-link layer addresses. Io that end, whenever a node is added to, or deleted from, the VLAN2, the translation table of the LES2 is updated to account for the added or deleted node. The LES2 responds to the ARP packet by transmitting a reply packet to the LES1 containing the IP address to data-link layer address translation for the node s4. In this case, the translation may consist of the ATM address of the bridge b2. The LES1 then transmits the reply packet to BS1. The node BS1 then sets up a VCC with the node b1. Thereafter, the packets can be transmitted from the node MT1 to the node BS1 to the ATM communications network to the node b1 and then to the node s4.
The above described scheme describes the address translation for unicast routing in which a packet is to be transmitted to only a single destination node. In addition to supporting unicast routing, IP also supports broadcast routing in which a packet is to be delivered to all nodes in a respective VLAN. The BUS nodes BSU1 and BUS2 are provided for purposes of supporting multicast and broadcast routing. In particular, in the context of broadcast routing, the nodes BSU1 and BUS2 must maintain a list of data-link layer addresses for transmitting copies of a broadcast packet to each node on the respective VLAN, i.e., VLAN1 or VLAN2. For example, the BSU1 must maintain the ATM addresses of the nodes b1, BS1 and s3 so that a copy of a broadcast packet can be transmitted to each of these nodes. (The node b1 transmits the received packet on the LAN1 where it is received by each node s1 and s2 whereas the node BS1 must transmit a separate copy of the broadcast packet to each node MT1 and MT2.)
One LES and one BUS are typically provided per VLAN. However, the LES and BUS need not be implemented on physically distinct or separate hardware. Rather, the LES and BUS functions may be provided by a single router computer or may be implemented in an ATM switch.
Interconnection of the nodes MT1-MT5 into a VLAN present a special problem due to their mobility. In particular, a mobile terminal, by its nature, is mobile, and moves from location to location. When the mobile terminal moves, it may leave the proximity of a base station which currently provides communication for the mobile terminal, and enter the proximity of a new base station. For example, as shown in FIG. 2, the node MT3, in the proximity of, and which is provided packet communication by, the node BS2, may move out of proximity with BS2 and into proximity with BS1. When this occurs, the nodes MT3, BS2 and BS1 execute a handoff procedure whereby the node MT3 first transmits a handoff message to the node BS2. In response, the node BS2 "deregisters" the node MT3 and ceases to provide communications therefor. The node MT3 then transfers a message to the node BS1 which causes the node BS1 to "register" the node MT3 and begin providing communications for the node MT3.
When a mobile terminal moves such that it is handed off from a base station in one VLAN to a base station in another VLAN, some manner of maintaining the moving mobile terminal in its respective VLAN must be provided. Such provision must be achieved for both unicast and broadcast routing.
Several conventional techniques have been proposed for maintaining the VLANs even in the event that mobile terminals are handed off from a base station in one VLAN to a base station in another VLAN. See, B. V. Patel, P. Bhattacharya, Y. Rekhter & A Krishna, An Architecture and Implementation Toward Multiprotocol Mobility, IEEE PERSONAL COMM., vol. 2, no. 3, p. 32-42, June, 1995; P. Bhagwat, C. Perkins & S. Tripathi, Network Layer Mobility: An Architecture and Survey, IEEE PERSONAL COMM., vol. 3, no. 3, p. 54-64, June, 1996; and J. loannidis, D. Duchamp & G. Q. Maguire, Jr., IP-Based Protocols for Mobile Internetworking, PROC. OF ACM SIGCOMM'91, p. 235-45, September., 1991. The Patel reference proposes to "hide" network topology changes at the data-link layer when a mobile terminal performs a handoff procedure as illustrated above. In particular, the data-link layer frames (MAC frames or cells) are encapsulated into IP frames. On the other hand, the Bhagwat and loannidis references propose to hide the network topology changes at the network layer. With the topology change "hidden" at the data-link or network layers, these references then propose to perform all routing at the IP level. These proposed techniques would thus support station mobility throughout the Internet.
Other techniques are known for enabling hosts to move from location to location yet still be contacted. U.S. Pat. No. 5,329,578 teaches a personal communications system (PCS) in which a telephone subscriber can maintain a profile of locations in which the subscriber may be found. The re-routing of telephone call connections from location to location may be prescheduled. Alternatively, a hunting technique may be used, wherein a central controller will send a call set-up request to (i.e., will ring) each location of a pre-specified sequence of locations. The disclosed techniques are disadvantageous because the location of the subscriber is not automatically registered as the host moves from location to location. U.S. Pat. No. 5,469,496, on the other hand, teaches a system wherein mobile hosts (cellular phones) handoff between base stations automatically when they move. Information regarding the current location of all mobile hosts is located in a single integrated service control point (ISCP). Thus, a user desiring to contact a specific cellular phone can simply dial the telephone number of that phone and the ISCP will direct the call to the appropriate cell containing the cellular phone. However, this patent does not consider the problem of maintaining a VLAN including the mobile host, how to provide address resolution or to enable broadcast packet routing. Rather, only switched communications, where the telephone number of the destination is known ahead of time, are described. U.S. Pat. No. 5,442,633 teaches a system in which mobile hosts use a loose source routing technique to maintain data communications in the event the mobile host moves. When a mobilc host moves to another base station, the mobile host transmits a packet to a server assigned thereto, called a mobile router, indicating the IP address of the base station to which it has moved. Initially, packets are routed at the network layer (without encapsulation) via the mobile router. However, when the mobile host transmits a packet to another host, it includes the IP address of the base station currently serving it, according to the loose source routing technique. If the other host can operate according to the loose source routing technique, that other source may transmit subsequent packets to the mobile host directly to the base station that serves the mobile host by specifying the IP address of the base station (thereby circumventing the mobile router).
It is an object of the present invention to maintain multiple VL,AN domains on an ATM network even when the VLANs contain mobile stations.